又到了中秋節,是個喘息的好日子,不過文章可是不能拖阿,今日新手技能學習,帶來觀念上的講解與配合實做,上述教學都是我自己編寫,以我帶人經驗去編寫,如果有缺漏的請多多指教。
當你的VM完成後,以為又要再裝什麼軟體嗎,NO~NO~學習不光只有軟體操作,基本觀念也很用重,所以這週是SQL語法認識,不光只有簡單的教學,還有變化及實際演練,希望各位都能夠有基礎,不會進了公司被笑說不是學校有教,都念書念到哪去了,在我入行的時候SQL語法很不熟悉,它是它我是我,畢竟這種東西要靠累積經驗跟技巧才能夠有概念,憑空看書其實沒有什麼意義,不過我還是要先把基礎告訴新手們。
先介紹業界常用的SQL有哪些,MYSQL、ORACLE、MS-SQL等等.....因為太多種了,所以只介紹常用的語言,因為業界不會冒險用不是很穩定的東西,因為資料掛掉,同等於公司倒閉意思,所以各位在學習上語法會有點差異是正常,不用擔心適應不良,因為語法幾乎很相通。
資料庫到底是什麼東西,我簡單畫了一個圖,這就是我們人對於虛擬資料庫實體樣子
資料庫可以儲存大量的資料,而是要有意義的,可以針對資料新增、刪除、修改,不過我的答案是廣義的,其實我也沒聽過真正答案到底是什麼!!
當我進入公司的時候,老闆考我SQL的概念是什麼,說真的我還沒聽過,雖然學術概念聽聽就好,還是要有點知道它的含意,之後我帶新人都要上這種概念課。
SQL有四大語言:資料查詢語言 (DQL) - 資料定義語言 (DDL) - 資料操縱語言 (DML) - 資料控制語言 (DCL),雖然有四大項,新手們你只需要了解三大項就夠了,這三項就足夠讓你再業界打滾N年。
資料定義語言 (DDL):定義語言到底是要定義什麼東西,CREATE、ALTER與DROP這就是定義TABLE名稱
CREATE新增資料庫
語法:
CREATE TABLE "TABLE_NAME" ("欄位A" "欄位A資料種類","欄位B" "欄位B資料種類" );
範例:
CREATE TABLE ID_NO (Name varchar2(6), ID varchar2(10), Address varchar2(30));
ALERT修改資料庫
修改資料庫名稱語法:ALTER TABLE "TABLE_NAME"
新增資料庫欄位名稱語法:ALTER TABLE TABLE_NAME ADD TEL varchar2(10);
修改資料庫欄位名稱語法:ALTER TABLE TABLE_NAME CHANGE Address Addr varchar2(30);
修改資料庫屬性欄位大小語法:ALTER TABLE TABLE_NAME MODIFY Address varchar2(50);
刪除資料庫欄位名稱語法:ALTER TABLE TABLE_NAME DROP Address;
DROP刪除資料庫
DROP TABLE TABLE_NAME;
以上簡單敘述如何新增資料庫的TABLE,因為寫這個命令列真的很繁瑣,其實已經有工具可以取代掉,但是身為新手這種基礎的東西你不能不知道,只知道用工具這是偷吃步行為。
資料操縱語言 (DML):操作語言就是要操作你的資料,當你有大量的資料要輸入怎麼做,這時候就有INSERT、UPDATE、DELETE,這三個東西其中兩個東西很可怕,因為命令打錯資料就是消失,所以UPDATE、DELETE使用時要非常的謹慎。
INSERT新增資料
語法:
INSERT INTO "TABLE_NAME" ("ID_NO", "NAME")VALUES ("0001", "IT幫幫忙");
UPDATE修改資料
UPDATE TABLE_NAME SET NAME = "超級IT幫幫忙",將原本的IT幫幫忙改成超級IT幫幫忙
DELETE刪除資料
DELETE FROM TABLE_NAME 千萬不要下這種語法,除非你很確定你要刪除全部,不然你會看到全新的TABLE_NAME,真正打法其實是這樣 DELETE FROM Store_Information
WHERE ID_NO = '0001';要給它一個條件值,下面就會介紹條件怎麼使用
資料查詢語言 (DQL):當你都新增好資料後,當然就會需要做查詢動作
語法 SELECT 可以查詢的欄位名稱或者用*(意思全部TABLE資料都帶出)
FROM TABLE_NAME (將你CREATE的TABLE放進去),也可以有多個TABLE_NAME a,TABLE_NAME b(這屬於進階後面會介紹)
WHERE 上面DROP不是有下了一個WHERE這是就是條件的開始
GROUP BY 群組欄位(這屬於進階後面會介紹)
ORDER BY 資料做排序大到小或小到大
範例:
SELECT * FROM TABLE_NAME
SELECT NAME,ID,ADDR FROM TABLE WHERE NAME='IT幫幫忙超級高手' AND ID='泰大' (這樣你就可以找到IT幫幫屆超級紅人)<img alt="臉紅" border="0" src="/images/emoticon/emoticon25.gif"></img>
因為我是主攻再ORACLE,進量會配合其他與法的參照,讓新手們更加了解SQL的用法,SQL沒有速成的方法,為有多看人家寫的,自己去腦中模擬你要帶什麼資料,東西不要學貪多,重要的是要能夠消化進去。
ianianwu提到:
因為業界不會冒險用不是很穩定的東西
好中肯的一句話XDD
最新不是最好,最舊不是最優,取個中間就是最穩定